package com.ghbank.rdws.common.http;

import org.springframework.http.HttpStatus;

import lombok.Data;

@Data
public class GhbankResponseEntity<T> {
	private int code;
	private Object message;
	private String seq;
	private T data;

	public static <T> GhbankResponseEntity<T> ok(T data, String seq) {
		GhbankResponseEntity<T> ghbankResponseEntity = new GhbankResponseEntity<>();
		ghbankResponseEntity.message = GhbankHttpStatus.OK.getReasonPhrase();
		ghbankResponseEntity.code = GhbankHttpStatus.OK.value();
		ghbankResponseEntity.seq = seq;
		ghbankResponseEntity.data = data;
		return ghbankResponseEntity;
	}

	public static <T> GhbankResponseEntity<T> error(HttpStatus httpCode, Object message, String seq) {
		GhbankResponseEntity<T> ghbankResponseEntity = new GhbankResponseEntity<>();
		ghbankResponseEntity.message = message;
		ghbankResponseEntity.seq = seq;
		ghbankResponseEntity.code = httpCode.value();
		return ghbankResponseEntity;
	}
}
